/*
	QUBE
	Sandra Obermann - QPT 1 - 2012
	fhs33730 - 1110601021
	FH Salzburg - Studiengang MultiMediaTechnolgy
*/

#ifndef FONTEND_H_INCLUDED
#define FONTEND_H_INCLUDED

// Cinder Includes
#include "cinder/app/AppBasic.h"
#include "cinder/Text.h"
#include "cinder/gl/TextureFont.h"
#include "cinder/gl/gl.h"

// Used namespaces
using namespace ci;
using namespace ci::app;
using namespace ci::gl;

// Enum for FontDisplay Type
enum E_FONT_ID
{
	E_FONT_GAMEOVER = 0,
	E_FONT_GAMETIME = 1,
	E_FONT_FINISHED = 2,
};

// My FontDisplay Class
class FontDisplay
{
public:

	// Default FontDisplay Constructor/Destructor
	FontDisplay();
	virtual ~FontDisplay();

	// Create Font for the 3 Displays: Game Time, Game Over Screen and Finish Screen
	void			buildFontDisplay();

	// Draw Font for the 3 Displays: Game Time, Game Over Screen and Finish Screen
	void			drawFontDisplay( E_FONT_ID fontID );

private:

	// Cinder Texture Class used for drawing Text
	Texture			m_gameOverTexture;
	Texture			m_finishTexture;
	Texture			m_gameTimeTexture;

	// Text Positions
	Vec2f			m_fontPositionFinish;
	Vec2f			m_fontPositionGameOver;
	Vec2f			m_fontPositionTime;

	// Cinder Font Class used for Text writing Text
	Font			m_fontFinish;
	Font			m_fontGameTime;
	Font			m_fontGameOver;

	// Font size for the Text
	int				m_fontSizeGameOver;
	int				m_fontSizeTime;
	int				m_fontSizeFinish;

	// Set offset for the font
	int				m_setLeadingOffsetFinish;
	int				m_setLeadingOffsetGameOver;

	// Values for Text layout renderer
	bool			m_premult;
	bool			m_useAlpha;

	// Font Color
	ci::ColorA		m_color;
};

#endif // FONTEND_H_INCLUDED